Image capturing devices, such as cameras or smartphones, are used to capture photos and videos of individuals, buildings, landscapes, objects, and/or other images within the surroundings of the image capturing device. Oftentimes, image capturing devices may be used to capture videos of an activity or event in which the image capturing device may be moving as the activity or event is being captured. This movement of the image capturing device may present various problems for encoders attempting to generate an encoded video file using the video footage captured by the image capturing device.
When captured on video, a particular arrangement of a group of pixels within a frame may comprise a visual representation of an object within the frame. When encoding video footage, movement of the arrangement of the group of pixels from frame-to-frame may be tracked based on the position and/or particular arrangement of the group of pixels in a previous frame. For example, in a given frame, an arrangement of a group of pixels may be searched for in a fixed area based on the last known position of the arrangement within a previous frame. If located, the knowledge of the arrangement's movement may be used to reduce and/or eliminate temporal redundancy by encoding the frame in terms of the transformation of a previous, reference frame to the frame. However, if movement of the image capturing device results in a failure to locate the arrangement within the fixed search area due to a modification of the particular arrangement of the group of pixels in the previous frame, the arrangement may not be located within the fixed search area and the entire frame may be searched to locate the arrangement. This process is both power and time consuming.
Furthermore, when movement of an image capturing device results in a failure to locate a particular arrangement of a group of pixels from a previous frame within a given frame, the given frame must be encoded as an intra frame as opposed to an inter frame. An inter frame is encoded by reference to one or more related frames in a set of grouped frames, whereas an intra frame is encoded without reference to one or more related frames and thus contains independently decodable information. While intra frames require less processing power than inter frames, intra frames utilize a greater number of bits than inter frames. As such, when movement of an image capturing device causes a greater number of frames to be encoded as intra frames, an encoder may reach its bit limit sooner, requiring the encoder to enter a bit rate preservation mode. This often results in degraded video quality.
These and other problems exist when attempting to generate an encoded video file using video footage captured by a moving image capturing device.